package tsing.good_simple.abstractLock.singleProjectAbstract;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @Date 2024/11/25 14:55
 * @Author Tsing
 *
 * 通过SpringAop +注解来实现加锁
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface  LockAnnotation {

    /**
     * 超时时间
     * @return
     */
    long timeOut() default 0;

    /**
     * 时间类型
     * @return
     */
    TimeUnit unit() default  TimeUnit.MINUTES;


    /**
     * 锁的key
     * @return
     */
    String key() default  "";



}
